#ifndef _XX_YY_BMOCK_MUTEX
#define _XX_YY_BMOCK_MUTEX
#include <boost/thread/recursive_mutex.hpp>

namespace bmock {
	struct bmock_mutex {
		static bmock_mutex* instance(); 
		void lock();		
		void unlock();
		void destruct();		
	private:
		bmock_mutex():locks_(0){};
		~bmock_mutex();
		bmock_mutex(const bmock_mutex&){};
		bmock_mutex& operator=(const bmock_mutex&){ return *this; };
		static bmock_mutex* instance_;
	private:
		boost::recursive_mutex m_;
		int locks_;
	};
}

#endif
